package com.huyn.baseframework.dynamicload.video;

import android.content.Context;
import android.view.View;

import com.huyn.baseframework.dynamicload.video.model.GoodsItem;
import com.huyn.baseframework.model.Category;
import com.huyn.baseframework.model.ChannelDetail;

import java.util.List;
import java.util.Map;

/**
 * Created by huyaonan on 16/9/22.
 */
public interface IPlayPresenter {

    public void init(ChannelDetail detial, Category category, Context playerContext, final IPlayController controller);

    public void manageToolVisibleState(boolean hide);

    public void manageToolVisibleState(boolean hide, boolean manageStatus);

    public void reserveFullScreen(boolean exitMultiVideo);

    public void toFullScreen(String title, boolean isVr);

    public void updateTitle(String title);

    public void manageProgress(boolean speedUp, float ratio, boolean doSeek);

    public int[] getCartLocation();

    public void cancelSeek();

    public void initToolBar(boolean onMajorVideo);

    public void endUpdateProgress();

    public void onStartTrackingTouch();

    public boolean updateProgress(long current, long duration);

    public void toWriteDammu(boolean hideTools);

    public void updateState(boolean state);

    public void enableSeekBar();

    public void updateBuffer(int progress);

    public void setupResolutions(Map<Integer, String> definitions, int currentCode);

    public void setVideoHelper(AubeVideoPlayer videoPlayer);

    public View getZoomView();

    public void updateContent(ChannelDetail channel);

    public void videoTxtTipsIn(String str);

    public void videoTxtTipsOut();

    public void hideGoodsCart();

    public void showGoodsCart();

    public void hideGoodsLayout();

    public void hideFavorCartIfVisible();

    public void displayHotpot(int current);

    public void switchGoodsHotpotSize(boolean fullscreen);

    public void addGoodsToFavor(List<GoodsItem> data);

    public void removeGoodsFromFavor(String id);

    public boolean interceptManageEvent();

    public List<AbstractController> getControllers();

    public void pause();

    public void pauseWhenFreeze();

    public void play();

    public void showPauseAD();

    public void hidePauseAD();

    public void endPlay();

    public boolean isPlaying();

    public void pauseWhenLogin();

    public void resumeFromLogin();

    public boolean onBackPressed();

    public void onDestroy();

    public boolean shouldRequestStoragePermission();

    public void continueAfterPermissionGet();

    public void onBufferingStartEvent();
    public void onBufferingEndEvent();

}
